where each of these structures may subsequently be used as an argument to
one or more transport functions.
Each of the above structures, except _TTTT______IIII_NNNN_FFFF_OOOO, contains at least one field
of type _ssss_tttt_rrrr_uuuu_cccc_tttt _nnnn_eeee_tttt_bbbb_uuuu_ffff. _nnnn_eeee_tttt_bbbb_uuuu_ffff is described in _iiii_nnnn_tttt_rrrr_oooo(3N). For each field
of this type, the user may specify that the buffer for that field should
be allocated as well. The _ffff_iiii_eeee_llll_dddd_ssss argument specifies this option, where
the argument is the bitwise-_OOOO_RRRR of any of the following:
_TTTT______AAAA_DDDD_DDDD_RRRR The _aaaa_dddd_dddd_rrrr field of the _tttt______bbbb_iiii_nnnn_dddd, _tttt______cccc_aaaa_llll_llll, _tttt______uuuu_nnnn_iiii_tttt_dddd_aaaa_tttt_aaaa, or _tttt______uuuu_dddd_eeee_rrrr_rrrr
_TTTT______OOOO_PPPP_TTTT The _oooo_pppp_tttt field of the _tttt______oooo_pppp_tttt_mmmm_gggg_mmmm_tttt, _tttt______cccc_aaaa_llll_llll, _tttt______uuuu_nnnn_iiii_tttt_dddd_aaaa_tttt_aaaa, or _tttt______uuuu_dddd_eeee_rrrr_rrrr
structures.
_TTTT______UUUU_DDDD_AAAA_TTTT_AAAA The _uuuu_dddd_aaaa_tttt_aaaa field of the _tttt______cccc_aaaa_llll_llll, _tttt______dddd_iiii_ssss_cccc_oooo_nnnn, or _tttt______uuuu_nnnn_iiii_tttt_dddd_aaaa_tttt_aaaa
structures.
_TTTT______AAAA_LLLL_LLLL All relevant fields of the given structure.
For each field specified in _ffff_iiii_eeee_llll_dddd_ssss, _tttt______aaaa_llll_llll_oooo_cccc will allocate memory for the
buffer associated with the field, and initialize the _bbbb_uuuu_ffff pointer and
_mmmm_aaaa_xxxx_llll_eeee_nnnn [see _nnnn_eeee_tttt_bbbb_uuuu_ffff in _iiii_nnnn_tttt_rrrr_oooo(3N) for description of _bbbb_uuuu_ffff and _mmmm_aaaa_xxxx_llll_eeee_nnnn] field
accordingly. The length of the buffer allocated will be based on the
same size information that is returned to the user on _tttt______oooo_pppp_eeee_nnnn and
_tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo. Thus, _ffff_dddd must refer to the transport endpoint through which
the newly allocated structure will be passed, so that the appropriate
size information can be accessed. If the size value associated with any
specified field is -1 or -2 (see _tttt______oooo_pppp_eeee_nnnn or _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo), _tttt______aaaa_llll_llll_oooo_cccc will be
unable to determine the size of the buffer to allocate and will fail,
setting _tttt______eeee_rrrr_rrrr_nnnn_oooo to _TTTT_SSSS_YYYY_SSSS_EEEE_RRRR_RRRR and _eeee_rrrr_rrrr_nnnn_oooo to _EEEE_IIII_NNNN_VVVV_AAAA_LLLL. For any field not
specified in _ffff_iiii_eeee_llll_dddd_ssss, _bbbb_uuuu_ffff will be set to _NNNN_UUUU_LLLL_LLLL and _mmmm_aaaa_xxxx_llll_eeee_nnnn will be set to
zero.
Use of _tttt______aaaa_llll_llll_oooo_cccc to allocate structures will help ensure the compatibility
of user programs with future releases of the transport interface.
This function resides within both the X/Open compliant _llll_iiii_bbbb_xxxx_nnnn_eeee_tttt and the
applications which require X/Open compliance must link-load with _----_llll_xxxx_nnnn_eeee_tttt.
Network Services applications which require SVR4 compliance must link-
load with _----_llll_nnnn_ssss_llll.
On failure, _tttt______eeee_rrrr_rrrr_nnnn_oooo may be set to one of the following:
_TTTT_BBBB_AAAA_DDDD_FFFF The specified file descriptor does not refer to a
transport endpoint.
_TTTT_SSSS_YYYY_SSSS_EEEE_RRRR_RRRR A system error has occurred during execution of this
function.
_TTTT_NNNN_OOOO_SSSS_TTTT_RRRR_UUUU_CCCC_TTTT_YYYY_PPPP_EEEE Unsupported _ssss_tttt_rrrr_uuuu_cccc_tttt______tttt_yyyy_pppp_eeee requested. This can include a
request for a structure type which is inconsistent with